curlコマンドでJSONデータをAPIにPOSTする 您所在的位置:网站首页 curl post json文件 curlコマンドでJSONデータをAPIにPOSTする

curlコマンドでJSONデータをAPIにPOSTする

#curlコマンドでJSONデータをAPIにPOSTする| 来源: 网络整理| 查看: 265

APIの動作確認をしたいときに使えます。

今回はAPIのURIをlocalhost:5000/api/v1/とします。また、v1の後の文字列でリクエスト先を定義します。(例: ユーザ登録... localhost:5000/api/v1/users)

コマンドでリクエストを投げる curl -X POST -H "Content-Type: application/json" -d "{"name" : "佐藤" , "mail" : "[email protected]"}" localhost:5000/api/v1/users

-X POST : POSTでリクエストを投げるときに使います。

-H : リクエストヘッダを指定する時に使います。 今回はリクエストボディとしてjsonデータを送信したいので、Content-Type: application/json を指定しています。

-d : リクエストボディを指定します。

引数でリクエスト先のエンドポイントを指定することも忘れないように注意です。

シェルスクリプトで効率化

軽く動作確認するだけならコマンド入力で問題ありませんが、別のエンドポイントにアクセスする・正常系異常系のテストをするとなれば毎回同じコマンドを入力するのは面倒です。

シェルスクリプトでAPI実行を効率化してみましょう。 今回は ・ エンドポイント ・ リクエストで投げるJSON

を引数で受け取るようにしました。また、今回は/usr/local下にスクリプトを配置することにします。

postRequest.sh #/bin/bash # APIにPOSTリクエストする ### 引数一覧 # $1 : エンドポイント # $2 : リクエストボディ(JSON) ### 変数定義 # エンドポイント ENDPOINT="localhost:5000/api/v1/${1}" # リクエストボディ(JSON形式で受け取る) JSON="${2}" # リクエストを出す curl -X POST -H "Content-Type: application/json" -d "${JSON}" "${ENDPOINT}" 実行例 /bin/bash /usr/local/postRequest.sh users "{"name" : "佐藤" , "mail" : "[email protected]"}"

コマンドを全て入力するよりも少ない手間でAPIを実行することができました。

余談

今回はスクリプトのパスを通していないのでフルパスで実行していますが、パスを通しておくと更に少ない手間でAPIにアクセスできるでしょう。

また、どのようなJSONデータを使うのか予め決まっている場合はデータをjsonファイルに定義しておき、引数でファイルパスを渡すという方法も良いかもしれません。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有